-
Notifications
You must be signed in to change notification settings - Fork 296
Make some remaining X86 intrinsics safe #1908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
The prefetch intrinsics can also be made safe. |
It has a pointer parameter, can it still be made safe? Also, what about TSC, CPUID and the fence instructions? |
These intrinsics are all safe to call as long as the required target features are available. @rfcbot merge |
Team member @Amanieu has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
_mm512_reduce_mul_ph
(missed)_bswap{,64}
_mm_prefetch
- It doesn't actually dereference the pointer argument, so it's safe_mm_{l,s,m}fence
- These can't introduce inconsistencies, as they are fences._mm_pause
- It's likestd::hint::spin_loop
, so nothing unsafe here. Worst it can do is make the program slower